PowerTools CalendarGrid for Windows Forms 1.0J
書式を設定する(CalendarGcComboBoxCellType)

書式の設定

CalendarGcComboBoxCellType.Formatプロパティを使用します。

テキストボックスは、書式を設定することで入力可能な文字種を制限することができます。入力可能な文字種はFormatプロパティで制限することができます。Formatプロパティに設定できるキーワードは、次の表のとおりです。また、ここで指定された以外の文字種が入力されると、GcComboBox.InvalidInputイベントが発生します。

全角 半角 説明

A

大文字のアルファベット(A~Z)

a

小文字のアルファベット(a~z)

K

カタカナ(促音・拗音の小書き表記あり)

N

カタカナ(促音・拗音の小書き表記なし)

9

数字(0~9)

#

数字および数字関連記号(0~9、+ - $ % \ , .)

@

記号(! " # $ % & ' ( ) - = ^ ~ \ | @ ` [ { ; + : * ] } , < . > / ? _ 。 「 」 、 ・)

B

2進数(0または1)

X

16進数(0~9、A~F)

-

2バイト文字(サロゲート ペア文字を除いた全角文字)

-

ひらがな(促音・拗音の小書き表記あり)

-

ひらがな(促音・拗音の小書き表記なし)

-

すべての全角文字

-

サロゲート ペア文字

-

JIS X 0208文字で構成された文字

-

Shift JIS文字で構成された文字

-

IVS(Ideographic Variation Sequence)文字

-

H

すべての半角文字

-

^

指定した書式に含まれないすべての文字

-

\

エスケープ・シーケンス

注意 
半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。
 

以下に、入力可能な文字種を設定する具体例を示します。

次のコードは、半角大文字のアルファベット(A~Z)と2進数(0, 1)のみを許可します。

Imports GrapeCity.Win.CalendarGrid
Imports InputManCell = GrapeCity.Win.CalendarGrid.InputMan

Dim today As DateTime = DateTime.Today

Dim GcComboBoxCellType As New InputManCell.CalendarGcComboBoxCellType()
GcComboBoxCellType.DropDownStyle = CalendarGridComboBoxStyle.DropDown
GcComboBoxCellType.DropDownStyle = CalendarGridComboBoxStyle.DropDown
GcComboBoxCellType.Format = "AB"

GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType = GcComboBoxCellType
GcCalendarGrid1.ScrollIntoView(today)
using GrapeCity.Win.CalendarGrid;
using InputManCell = GrapeCity.Win.CalendarGrid.InputMan;

var today = DateTime.Today;

var gcComboBoxCellType = new InputManCell.CalendarGcComboBoxCellType();
gcComboBoxCellType.DropDownStyle = CalendarGridComboBoxStyle.DropDown;
gcComboBoxCellType.DropDownStyle = CalendarGridComboBoxStyle.DropDown;
gcComboBoxCellType .Format = "AB";

gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType = gcComboBoxCellType;
gcCalendarGrid1.ScrollIntoView(today);

上記のコードのFormatプロパティを変更することで入力可能な文字種を設定できます。
次の例では、半角大文字のアルファベットと数字(0~9)が入力可能になります。キーワード"X"で指定した16進数は、別のキーワードの"A"と"9"に含まれているので、無視されます。

GcComboBoxCellType.Format = "AX9"
gcComboBoxCellType.Format = "AX9";

下のコードでは、すべての半角文字の入力が許可されます。キーワード"AaK9"で指定した文字種は"H"に包含されているので、この部分は無視されます。        

GcComboBoxCellType.Format = "AaK9H"
gcComboBoxCellType.Format = "AaK9H";

次に示す2つの例は、どちらもスペースを含むすべての文字種を許可するものです。デフォルトでは、最初の例のように設定されていますので、2つ目の例のようにキーワード"ZH"を指定しなくても同じ動作となります。

GcComboBoxCellType.Format = ""
GcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both

GcComboBoxCellType.Format = "ZH"
GcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both
gcComboBoxCellType.Format = "";
gcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both;

gcComboBoxCellType.Format = "ZH";
gcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both;

以下の2つのコードは、すべての文字種の入力を拒否します。スペースの入力も許可されません。この例が示すように、キーワード"^"は、その後に記述されたキーワードの補集合を表します。

GcComboBoxCellType.Format = "^"
GcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None

GcComboBoxCellType.Format = "^ZH"
GcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None
gcComboBoxCellType.Format = "^";
gcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None;

gcComboBoxCellType.Format = "^ZH";
gcComboBoxCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None;

また、入力可能な文字種から特定の文字種を除外することもできます。次のコードはすべての全角文字からサロゲート文字だけを除外します。

GcComboBoxCellType.Format = "Z^T"
gcComboBoxCellType.Format = "Z^T";

特定の文字を書式に設定することも可能です。記号から「^、@、\、$」の4文字を除外するには以下のように記述します。

GcComboBoxCellType.Format = "@^\\^\\@\\\\$"
gcComboBoxCellType.Format = "@^\\^\\@\\\\$";


文字列の自動変換

CalendarGcComboBoxCellType.AutoConvertプロパティを使用します。

AutoConvertプロパティをTrueに設定すると、Formatプロパティの設定内容に基づいて、変換可能な文字はすべて自動的に変換されます。たとえば、Formatプロパティで"A"キーワードが設定されていると、小文字を入力しても自動的に大文字に変換されます。また、全角文字だけが許可されている場合は、入力された半角文字は全角文字に変換されます。

セル内部で行われる自動変換の手順を以下に示します。

  1. 小文字から大文字、または大文字から小文字への変換を行います。
  2. 手順 1 の変換が行われない場合、全角から半角、または半角から全角への変換を行います。
  3. 手順 2 の変換が行われない場合、全角大文字から半角小文字、全角小文字から半角大文字、半角大文字から全角小文字、半角小文字から全角大文字のいずれかの変換を行います。

半角カタカナ、全角カタカナ、およびひらがなは、次のように変換されます。

Formatプロパティに"^V"が設定された場合、IVS文字およびIVSの親となる漢字(以下、親字)は以下のように変換されます。

"^V"(IVS文字を除外する)

IVS

親字に変換されます


親字

そのまま入力されます



スペース入力の制御

CalendarGcComboBoxCellType.AllowSpaceプロパティを使用します。

AllowSpaceプロパティは、Formatプロパティの設定に依存せずに入力可能なスペースの種類を設定します。AllowSpaceプロパティがWideに設定されている場合、Formatプロパティにキーワード"H"のみが設定されていても、セルには全角のスペースのみ入力可能です。また、同様にAllowSpaceプロパティがNarrowに設定されている場合、キーワード"Z"のみが設定されていても、半角のスペースだけが入力可能になります。

AllowSpaceの値 説明

Both

半角、全角の両方のスペースが入力可能

Narrow

半角のスペースのみ入力可能

Wide

全角のスペースのみ入力可能

None

スペースの入力はできません

注意 
既存のテキストにスペースが含まれているときに、AllowSpaceをNoneに設定すると、それらのスペースがすべて削除されるので注意が必要です。


改行コードの取り扱い

CalendarGcComboBoxCellType.AcceptsCrLfプロパティを使用します。

AcceptsCrLfプロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLfプロパティは、以下の3つの動作から選択します。

AcceptsCrLfの値 説明

NoControl

改行コードはそのままでコピー、貼り付けを行います。従来のInputManのテキストコントロールと同じ動作です。

Filter

全ての改行コードを削除しコピー、貼り付けを行います。

Cut

最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。


タブ文字の取り扱い

AcceptsTabCharプロパティを使用してクリップボードへタブ文字を含む文字列をコピー、または貼り付けた場合のタブ文字の扱いを設定できます。

AcceptsTabCharの値 説明

NoControl

タブ文字はそのままでコピー、貼り付けを行います。従来のInputManのコンボコントロールと同じ動作です。

Filter

全てのタブ文字を削除しコピー、貼り付けを行います。

Cut

最初のタブ文字以降の文字列を削除します。

注意 
AcceptsTabCharプロパティは、複数行(MultilineプロパティがTrue)の場合は有効になりません。


参照

 

 


© 2014 GrapeCity inc. All rights reserved.